class B {
    public B() {
// do nothing
        func();
    }
    public void func() {
        System.out.println("B.func()");
    }
}
class D extends B {
    private int num = 1;
    public D(){
        super();
       num = 1;
    }

    @Override
    public void func() {
        System.out.println("D.func() " + num);
    }
}
public class Test {
    public static void main(String[] args) {
        D d = new D();
    }

}



//public class Test{
//    public static void main(String[] args) {
//        Main main=new M();//M类向上转型
//        if (main instanceof M){//在这可理解为：
//                               // 如果main原是M类型则true
//            M m=(M) main;
//            m.a();
//            m.ok();
//        }
//    }
//}


//public class Test {
//    public static void www(Main main){
//        main.a();
//    }
//
//    public static Main yes(){
//        M m1=new M();
//        return m1;
//    }
//    public static void main(String[] args) {
//        Main m=new M();
//        Test.www(new M());
//        Main n=yes();
//    }
//}